Skip to content

data(sdks): SDK primary-purpose boundary + remove Filecoin protocol/proving infrastructure libraries (DBIP #3703) - #3744

Open
foxxx009 wants to merge 1 commit into
Chain-Love:mainfrom
foxxx009:dbip-3703-sdk-eligibility-data
Open

data(sdks): SDK primary-purpose boundary + remove Filecoin protocol/proving infrastructure libraries (DBIP #3703)#3744
foxxx009 wants to merge 1 commit into
Chain-Love:mainfrom
foxxx009:dbip-3703-sdk-eligibility-data

Conversation

@foxxx009

@foxxx009 foxxx009 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Closes #3703 (rule text + migration; wiki text included below because GitHub wikis do not accept pull requests)

Problem

The SDK category ("SDK, Frameworks and libraries used to build on this chain") does not explicitly resolve whether chain-specific libraries whose primary job is implementing/operating/proving the protocol itself belong in the category. Different validators can reach different conclusions.

Part 1 — Reusable classification rule (proposed wiki text, ready to apply)

SDKs.md — insert after the "When to add" list:

### Category boundary (SDK eligibility)

An offer qualifies for the SDK category when its **primary documented purpose** is giving
application developers a reusable library, SDK or framework for:

* building applications on the chain;
* building smart contracts or chain integrations;
* interacting with the chain from applications;
* deploying or testing blockchain applications;
* integrating application-level functionality with the chain.

Being technically useful inside the ecosystem is not sufficient by itself.

**Protocol-infrastructure exclusion.** An offer is *not* an SDK merely because it is
chain-specific or importable by developers. When the primary product job is implementing the
protocol, a node/client, consensus or consensus-adjacent infrastructure, storage/proving
infrastructure, protocol cryptography, chain-runtime internals, validator/miner/operator
infrastructure, or an internal component primarily consumed by the chain's own implementation,
do not classify it as an SDK unless its official documentation establishes a separate, supported
application-development use case (application-facing exception).

**Primary-consumer test:**

| Primary documented consumer | SDK? |
| --- | --- |
| dApp / application developers | Yes |
| Smart-contract developers | Yes |
| Developers integrating chain functionality into applications | Yes |
| Developers building/testing/deploying chain applications | Yes |
| Node/client implementers | No, unless an explicit application-facing interface is established |
| Protocol implementers | No |
| Consensus/proving/storage-infrastructure operators | No |
| Internal chain-implementation components | No |

**Product identity takes precedence over repository labels.** Classification follows the actual
product purpose per official documentation; labels such as "SDK", "library", "API", "framework",
"toolkit" or "infrastructure" never determine the category on their own.

Where an existing category already fits, use it. Where none fits, do not force the offer into
SDK; propose a category decision through the normal DBIP process.

Categories-definitions.md — extend the sdks section:

Add to Bad:

- Protocol/chain-infrastructure libraries (node/client, consensus, proving, storage-proof, protocol-cryptography, chain-runtime internals) whose primary consumers are chain clients or protocol implementers, unless an application-facing interface is documented

Add to Checklist:

- [ ] Its primary documented consumers are application/dApp/contract developers, not node or protocol implementers

Part 2 — Migration applied to the named Filecoin edge cases

First-party evidence checked 2026-09-08. filecoin-proofs-api and filecoin-proving-subsystem
have no rows in the dataset (both upstream repository names now 404), so the rule covers them
through the dataset rows that embody the proving/client infrastructure:

Removed offer First-party role Why it fails the primary-consumer test
filecoin-ffi C and CGO bindings for Filecoin's Rust libraries, consumed by Filecoin clients such as Lotus Node/client implementers; consumes the Rust proofs and reference FVM libraries
filecoin-blstrs BLS12-381 pairing curve implementation Protocol cryptography consumed by the chain implementation
filecoin-go-paramfetch Downloads/verifies Groth proving parameters used by Filecoin clients Proving/validator operator infrastructure
filecoin-go-commp-utils Piece-commitment utilities for Filecoin clients Low-level component whose primary consumers are chain clients / storage tooling
filecoin-go-fil-commp-hashhash Streaming CommP/CommD hashing for deal pipelines Same primary-consumer profile as go-commp-utils

Retained as SDKs (application-facing per official docs): iso-filecoin (type-safe JS RPC/wallet
utilities for building applications) and synapse-sdk/synapse-core/synapse-react
(Filecoin Onchain Cloud application SDK).

Per the DBIP, no new category is proposed and nothing was re-categorized; these offers are simply
no longer forced into SDK. If the dataset should represent protocol infrastructure, that is a
separate category DBIP.

Verification

  • Removed the 5 rows from references/offers/sdks.csv and their 5 !offer: references from listings/specific-networks/filecoin/sdks.csv (only referencing listing; CRLF preserved)
  • validate_csv.pycsv_to_json.pyvalidate.py all green locally
  • Generated filecoin.json no longer contains the removed slugs and still contains iso-filecoin / synapse-*
  • No boolean/column changes; purely classification-boundary work

Rewards address: 0x2409b47a530be3831158f10b08ac93f7d08c1ff2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DBIP] Define SDK Eligibility for Protocol and Chain-Infrastructure Libraries

1 participant